﻿using EntGuayasSLA.BL.Listas;
using EntGuayasSLA.BL.Listas.Criterias;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EntGuayasSLA.BL
{
    public static class SendEmailNotificacion
    {

        private static void EnviarNotificacionGenerica(string ec_arc_id, string ec_tabla_id, string ec_tabla, string txtMsg, string txtContenido)
        {
            AlertaNotificacionCriteria criteria = AlertaNotificacionCriteria.NewAlertaNotificacionCriteria();
            criteria.ArchivoId = ec_arc_id;
            criteria.TablaId = ec_tabla_id;
            criteria.Tabla = ec_tabla;
            NotificacionesLista listaNot = NotificacionesLista.GetNotificacionesLista(criteria);
            foreach (NotificacionInfo noti in listaNot)
            {
                txtContenido = string.Format(txtMsg, noti.PromotorNombres);
                MyMail.Enviar("", "Notificación Plasa", noti.PromotorEmail, txtContenido, true,"Notificación generica:promotor");
                if (noti.DelegadoEmail != "")
                {
                    txtContenido = string.Format(txtMsg, noti.DelegadoNombres);
                    MyMail.Enviar("", "Notificación Plasa", noti.DelegadoEmail, txtMsg, true, "Notificación generica:promotor");
                }

            }

        }
       
        /// <summary>
        /// Notificacion por correo a promotor
        /// </summary>
        /// <param name="ec_inf_notifica">Campo de notificación de informe</param>
        /// <param name="ec_arc_cambiar"> Campo de cambio de archivo</param>
        /// <param name="ec_arc_id"> Id de informe o Id de archivo</param>
        /// <param name="ec_tabla_id">Id de tabla</param>
        /// <param name="ec_tabla">Nombre de tabla</param>
        /// <param name="name_sp">Nombre de sp donde se invoca</param>
        public static void Promotor(string  ec_inf_notifica, string ec_arc_cambiar,string ec_arc_id, string ec_tabla_id,string ec_tabla,string name_sp)
        {
            string txtMsg = "Estimado usuario {0} usted tiene una nueva notificación en la Plataforma denominado PLASA, revise su bandeja de notificaciones";
            string txtContenido = "";
            switch(name_sp)
            {
                case "ACT_ARCHIVO":
                    #region comentario bd 1
                    /*
                        IF (ec_tabla like 'INF%' ) THEN
                          IF (ec_arc_cambiar = 'S') THEN
                             --Insertar la alerta.
                            PERFORM "INS_ALERTA_TECNICO" (ec_arc_id,ec_tabla_id,ec_tabla);
                          END IF;
                        ELSE
                          IF (ec_arc_cambiar = 'S') THEN
                             --Insertar la alerta.
                            PERFORM "INS_ALERTA_PRO" (ec_arc_id,ec_tabla_id,ec_tabla);
                          END IF;
                        END IF;
                    */
                    #endregion
                    if (ec_tabla.IndexOf("INF") == -1 && ec_arc_cambiar == "S")
                    {
                        SendEmailNotificacion.EnviarNotificacionGenerica(ec_arc_id, ec_tabla_id,ec_tabla, txtMsg, txtContenido);
                    }
                    break;
                case "ACT_INFORME":
                    #region comentario bd 2
                    /*
                         IF (ec_inf_notifica='S') THEN
                    */
                    #endregion
                    if (ec_inf_notifica == "S")
                    {
                        SendEmailNotificacion.EnviarNotificacionGenerica(ec_arc_id, ec_tabla_id, ec_tabla, txtMsg, txtContenido);
                    }
                    break;
             }
        }

     
    }
}
